import { createRequest } from 'microvideo-request'

/**
 * 路网事件接口
 */

export default {
  /**
   * 获取路网事件统计
   *
   * @obj     object
   * params   province            必填	省份标识
   * params   city	            选填	城市标识
   * params   roadType            必填	路网类型（0:公路;1:高速;2:全路网）
   * params   eventClassify       选填	统计纬度（事件类型【0：所有事件；1：突发类事件；2：计划类事件】）
   *
   * @returns promise
   */
  getEventStatistic(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('event-statistic/statistic')
  },

  /**
   * 获取事件类型统计
   *
   * @obj     object
   * province             选填	省份标识
   * roadType             选填	路网类型（0:公路;1:高速;2:全路网）
   * startTime query      选填    开始时间
   * endTime              选填    结束时间
   * eventType            选填    事件类型(AA:交通事故;FA:车辆故障;CA:施工养护;BA:恶劣天气;HA:洒落物;EA:大流量;)
   * eventStatus          选填    事件状态(5:未完结;9:已结案)
   * roadNum              选填    路线编号
   * stake                选填    桩号
   * trafficInfluence     选填    交通影响(通行状况)
   * orgName              选填    管辖单位
   *
   * @returns promise
   */
  getEventTypeStatistic(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/event-statistic/count')
  },

  /**
   * 获取高速事件列表
   *
   * @obj     object
   *   province               选填	  省份标识
   *   roadType               选填	  路网类型（0:公路;1:高速;2:全路网）
   *   startTime              选填    开始时间
   *   endTime                选填    结束时间
   *   eventType              选填    事件类型(AA:交通事故;FA:车辆故障;CA:施工养护;BA:恶劣天气;HA:洒落物;EA:大流量;)
   *   eventStatus            选填    事件状态(5:未完结;9:已结案)
   *   roadNum                选填    路线编号
   *   stake                  选填    桩号
   *   trafficInfluence       选填    交通影响(通行状况)
   *   orgName                选填    管辖单位
   *
   * @returns promise
   */
  getEventList(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-event/list')
  },

  /**
   * 获取公路事件列表
   *
   * roadSysType    路网类型（2:公路）
   * unitId         单位id
   * page
   * limit
   *
   * @returns promise
   */
  getHighwayEventList(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-event/gl/list')
  },

  /**
   * 事件关注/取消关注
   *
   * eventID       必填   事件id
   * followStatus  必填   关注状态(0:取消;1:关注)
   * userId        必填   用户Id
   *
   * @returns promise
   */
  focusEvent(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).post('/screen-event/follow')
  },

  /**
   * 获取事件详情
   *
   * eventID     事件id
   * eventType   事件类型  // AA:交通事故;FA:车辆故障;CA:施工养护;BA:恶劣天气;HA:洒落物;EA:大流量
   *
   * @returns promise
   */
  getEventDetails(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-event/detail')
  },

  /**
   * 获取过程总览
   *
   * eventID     事件id
   * eventType   事件类型  // AA:交通事故;FA:车辆故障;CA:施工养护;BA:恶劣天气;HA:洒落物;EA:大流量
   *
   * @returns promise
   */
  getProcessOverview(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-event/process')
  },

  /**
   * 获取突发类事件、计划类事件统计
   *
   * @obj     object
   * params   province            必填	省份标识
   * params   city	            选填	城市标识
   * params   roadType            必填	路网类型（0:公路;1:高速;2:全路网）
   *
   * @returns promise
   */
  getSuddenPlanStatistic(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/event-statistic/plan-emergency/statistic')
  },

  /**
   * 获取所有的高速道口管制事件
   * @param indRoadCenterId   路段中心的ID
   * @param indCenterType    路段中心的级别 固定2
   * @param province  省
   * @param indUnitId   单位ID
   *
   * **/
  getAllCoordinate(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-event/cross/process/coordinate/list')
  },

  /**
   * 获取道口开关状态详情
   * @param tsname(必填)   收费站名称
   *
   */
  getStationOperationDetail: tsName => {
    return createRequest('BASE_SERVER').get('/screen-event/toll-station/detail?tsName=' + tsName + '')
  },

  /**
   * 查询交通管制全部(全省)经纬度列表
   *
   * @param province 省份（江苏 32)
   */
  getStationAllLonLat: province => {
    return createRequest('BASE_SERVER').get('/screen-event/ts/status?province=' + province)
  },

  /**
   * 获取道口事件所有道口点位数据信息
   * @param province 32
   * @param eventId 事件id
   * @param unitId  组织机构id
   * @param rcId   	路中心id
   * ***/
  getCoordinateAbouts(obj) {
    return createRequest('BASE_SERVER').setParameters(obj).get('/screen-event/ts/abouts')
  }
}
